perm filename PRO.2[AP,DBL] blob
sn#116990 filedate 1974-08-29 generic text, type T, neo UTF8
00100 Protocol sketch for four SPOT-like concept formation programs
00200
00300 U represents the user, S the system, in the following dialog excerpts.
00400
00500 1. SPOT with only a MUST subset
00600 I shall describe the dialog, rather than exhibiting it.
00700 There are two alternatives, each involving small changes from the
00800 dialog used to write SPOT.
00900 First, we assume that at some point the system itself suggests
01000 structuring the relations into three subsets, based on applying its
01100 knowledge of contradiction to the domain of concept formation. At this
01200 point, the user might simply say:
01300 U: What are the three lists?
01400 S: (i) Relations which MUST be present, which are necessary for this choice
01500 (ii) Relations which MUSTNOT be present, whose absence is necessary for
01600 me to pick this identification
01700 (iii) Relations which MAY be present, but whose presence or absence does
01800 not affect my choice of identification
01900 U: Do not bother keeping a MUSTNOT list.
02000 S: Yes or no: "I am merging the concepts of MUSTNOT and MAY lists, into one
02100 NOTMUST list, which will hold the union of the MUSTNOT and the
02200 MAY lists, anything not on the MUST list."
02300 U: Yes.
02400
02500 The second alternative assumes that the user agrees (perhaps is not
02600 even consulted, or perhaps didn't decide until after) to the tripartite
02700 decision above was made. The new dialog sample takes place later, when the
02800 system is discussing the transfers of relations which must be done to update
02900 the models.
03000 .
03100 .
03200 .
03300 S: When the guess is incorrect, I have two possible actions:
03400 (1) Find a relation present in the scene but absent from all 3
03500 sets of relations in the incorrectly-chosen model; transfer this relation
03600 from NONEXISTENCE to the MUSTNOT list of the model.
03700 (2) Find a relation absent in the scene but present in the MAY
03800 list of the incorrectly-identified model; transfer the relation from
03900 the MAY list to the MUST list of the model.
04000
04100 Please type in some ordered subset of {1,2} to direct me. I suggest
04200 1,2 or 2,1. I suggest against the empty set.
04300
04400 U: 2
04500
04600 Notice that these both have the flavor of adding but a few bits
04700 of directional control on a very smart system. To do any more work than
04800 this (on such a small change) would hurt the automaticity of the system.
04900
05000
05100 2. SPOT with only a MUSTNOT subset
05200
05300 I shan't bore you with a repetition of (1). This is quite similar!
05400
05500
05600 3. SPOT with an ALWAYS-WAS subset
05700
05800 S: Hi. What can I do for you?
05900 U: Write a concept formation program. Here is SPOT, which you have
06000 just written. Get psyched up and we will begin adding to it.
06100 S: OK, I am in a state of full awareness re the writing of SPOT.
06200 What would you like to do to it?
06300 U: One thing, I notice that some of the transfers between the MAY,
06400 MUST, and MUSNT lists cause past examples to work improperly.
06500 Find me an example of this phenomenon.
06600 S: If we must choose between two features to transfer from MAY to
06700 MUST, only one is correct, we choose the incorrect one, later
06800 discover our mistake, put it back onto the MAY list. Then that
06900 first example would again be misidentified.
07000 U: Any other cases?
07100 S: When we choose to move a feature from MAY to MUST, we might have
07200 already seen a scene in which it did NOT occur. So this would
07300 immediately cause the old scene to be misidentified.
07400 U: How could you fix this up?
07500 S: (i) By keeping around all the old scenes, using them to check new
07600 changes. (ii) By tagging each MAY feature to indicate whether it
07700 has ever not appeared in this type of scene. (iii) By creating a
07800 fourth list, ALWAYS:WAS, to keep separate those MAY candidates
07900 which could reliably be transferred to MUST.
08000 U: How would the last two ideas work?
08100 S: When a concept is first encountered, no features are tagged. When a
08200 new instance is seen, all relations in the symmetric difference of
08300 the existing MAY set and the new set of relations is tagged.
08400 The next case is analogous, with tagging/notagging equivalent to
08500 position on the MAY/ALWAYS list.
08600 U: Which is better?
08700 S: (i) is the quickest but uses the most space, (ii) is most easily
08800 implemented and optimized, (iii) is easy to implement and the most
08900 symmetric. In view of future expansions, I suggest (iii).
09000 U: OK, do it.
09100 S: <sound of grinding, shredding, looping, etc. in the background> OK.
09200 What next?
09300
09400
09500 4. SPOT with high-level concepts built out of low-level ones
09600
09700 U: What use do you make of the contents of the relations read in?
09800 S: I use them for matching purposes only; no examination of contents is done
09900 U: I want you to do such an examination from now on
10000 S: Explain further
10100 U: Examine the relations carefully just after accepting or rejecting a model
10200 S: OK, I have located those two places in the synthesized code. Go on.
10300 U: After rejecting, examine the first element of each relation which failed
10400 because of its presence on the MUST list of the model but absence
10500 in the scene. If a scene relation is itself a known concept, replace
10600 it by all its MUST relations and repeat the matching attempt. Also,
10700 after accepting, examine each relation as well, and do a similar
10800 replacing and retesting.
10900 S: I understand. Warning: this could lead to an infinite regress:
11000 Concept A is defined in terms of B which is defined in terms
11100 of A ... Suggestion: set a depth level.
11200 U: No, the infinite regress won't occur.
11300 S: I have my doubts. I will set the depth level anyway, dynamically,
11400 to 2**(number of relations on all other lists put together).
11500 U: <grumbling noises>
11600
11700
11800 5. SPOT with reordering of the relations (graph-matching)
11900
12000
12100 U: I want a scene to be correctly identified even if its objects have
12200 a new order and new names.
12300 S: Unclear. Here is my idea of arch: (arch (a b c) (MUST (supports a c)
12400 (supports b c)) (MUSNT (touches a b)) (MAY (green a)(block c))).
12500 What kind of altered scene should be identified as an arch, now?
12600 U: (? (z y x) (supports x z)(supports y z)(green x)(blue y))
12700 S: I can see many ways to do this. (i) We may examine and then use
12800 the object list to determine a mapping which is applied to the rest
12900 of the scene. (ii) All scenes are transformed into canonical form
13000 when read in, i.e., as if they had all had objects (a b c ...)
13100 This means the mapping is a simple permutation always.
13200 Is one of these what you want?
13300 U: Compare the two for me, please.
13400 S: No, I don't want to.
13500
13600 Obviously, either choice is fine.